有些公司會有上機的程式考題,相信初心者會怕怕(我個人是會啦),但從簡單的題目開始學習吧!
[1, 2, 3, 4, 5]
變成 [1, 3, 5, 7, 9]
[1, 3, 4, 1, 7, nil, 7]
由小到大排序,並且移除 nil
以及重複的數字。a = [1, 2, 3, 1, 2, 1, 3, 1, 2, 3, 4, 5, 6]
,請計算在陣列 a
中,每個數字出現的次數。全部看完後,第6題比較難一些!每題的解法無固定,能解出來的就是好方法!以下是我的解法可參考~
1的解法p [1, 2, 3, 4, 5].map{ |i| i * 2–1 }
2的解法p [1, 3, 4, 1, 7, nil, 7].compact.uniq.sort
3的解法p (1..100).to_a.select{ |i| i.odd? }
4的解法(比較特別,居然有.sum可以用!)p (1..100).sum
5的解法p (1..99).to_a.sample(5)
6的解法(這題比較難一些,要花時間去理解)a = [1, 2, 3, 1, 2, 1, 3, 1, 2, 3, 4, 5, 6]
p a.sort.map { |i| [i, a.count(i)]}.to_h
參考資料
我的學習經驗談